package com.jidu.domain;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jidu.system.domain.SysUserRole;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.jidu.common.annotation.Excel;
import com.jidu.common.core.domain.BaseEntity;

/**
 * 学员对象 sys_student
 * 
 * @author ruoyi
 * @date 2024-07-19
 */
@ApiModel(value = "SysStudent",description = "学员对象")
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("sys_student")
@Data
public class SysStudent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 学员姓名 */
    @Excel(name = "学员姓名")
    @ApiModelProperty(value = "学员姓名")
    private String name;

    /** 家长姓名 */
    @Excel(name = "家长姓名")
    @ApiModelProperty(value = "家长姓名")
    private String parentName;

    /** 学生年龄 */
    @Excel(name = "学生年龄")
    @ApiModelProperty(value = "学生年龄")
    private String age;

    /** 手机号 */
    @Excel(name = "手机号")
    @ApiModelProperty(value = "手机号")
    private String mobile;

    /** 密码 */
    @Excel(name = "密码")
    @ApiModelProperty(value = "密码")
    private String password;

    /** 0男，1女 */
    @Excel(name = "0男，1女")
    @ApiModelProperty(value = "0男，1女")
    private String sex;

    /** 身份证 */
    @Excel(name = "身份证")
    @ApiModelProperty(value = "身份证")
    private String idCard;

    /** 家庭住址 */
    @Excel(name = "家庭住址")
    @ApiModelProperty(value = "家庭住址")
    private String address;

    /** 学员生日 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "学员生日", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "学员生日")
    private Date birthday;

    /** 删除标志（0正常，1删除） */
    private String delFlag;

    /** 门店id */
    @Excel(name = "门店id")
    @ApiModelProperty(value = "门店id")
    private Long orgId;

    /** 照片地址 */
    @Excel(name = "照片地址")
    @ApiModelProperty(value = "照片地址")
    private String avatar;

    @ApiModelProperty(value = "微信用户唯一标识")
    private String openId;

    @TableField(exist = false)
    private List<CourseStudentRel> courseStudentRels;

    @TableField(exist = false)
    private List<Map<String,String>> roles;

}
